package com.njit.office.service;

import com.njit.office.model.Result;
/**
 * Team服务
 * */
public interface TeamService {
    /**
     * 用户创建team
     * @param userId 要创建team的用户id
     * @param teamName 要创建的team名字
     * @return Result
     */
    Result createTeam(String userId,String teamName);

    /**
     * 用户通过邀请码加入指定team
     * @param userId 要加入team的用户id
     * @param inviteCode 邀请码
     * @return Result
     */
    Result joinTeam(String userId,String inviteCode);

    /**
     * 通过teamId解散team,解除用户关联,只有创建者有权限
     * @param teamId team的id
     * @param userId 用户id
     * @return Result
     */
    Result dismissTeam(String userId,String teamId);

    /**
     * 获取用户加入的team
     * @param userId
     * @return Result data:Team
     */
    Result getJoinedTeams(String userId);


    /**
     * 获取用户创建的team
     * @param userId
     * @return Result data:Team
     */
    Result getCreatedTeams(String userId);


    /**
     * 获取team的所有成员
     * @param teamId
     * @return
     */
    Result getAllMembers(String teamId);
}
